Skip to content
created by Aha00aAha00a at 2026-06-24
last modified by Aha00aAha00a at 2026-09-12
revision: 4

NewUserFlow

신규 사용자 유입 흐름

AhaWiki에 처음 온 사용자가 거치는 단계를 정리한다.

1. 전체 흐름

  • 최초 유입
  • 로그인 유도
  • 로그인
  • 닉네임 설정
  • 페이지 조회 및 수정
  • 위키 개설 신청

2. 단계별 설명

2.1. 1. 최초 유입

비로그인 상태로 위키에 접속한다.

사이트에 공개 읽기 권한(All/Read)이 설정된 경우 페이지를 열람할 수 있다.

권한이 없는 경우 접근이 제한된다.

2.2. 2. 로그인 유도

읽기가 거부되면 Wiki/error.scala.html 이 자물쇠 아이콘과 사유(Permission denied.)를 보여주고, 비로그인일 때만 Login 버튼을 함께 보여준다. 없는 페이지를 편집하려다 막힌 경우도 같은 화면이다.

"별도 안내 없이 막히거나 빈 화면" 이라고 적혀 있던 것은 틀렸다. 언제부터 화면이 있었는지는 이 문서에 근거가 없다 — 다만 Dev Api 의 완료 목록에 "권한 없음 Login 버튼" 의 톤을 맞춘 항목이 있으니, 적어도 그때는 있었다. --2026-09-03

남은 것은 이 화면이 아니라 그 앞이다. 목록·검색은 읽을 수 없는 페이지를 아예 감추므로(AccessControl 의 목록·검색 필터링), 로그인하면 더 보인다는 사실을 알릴 자리가 없다.

2.3. 3. 로그인

Google OAuth로 로그인한다.

  • /login → /google/oauth/login → Google 인증 → /google/oauth/callback
  • 최초 로그인 시 계정이 자동 생성된다.
  • 닉네임은 이메일 앞부분(local part)을 기반으로 자동 지정된다.

2.4. 4. 닉네임 설정

[일부 구현]

최초 로그인 직후 닉네임을 직접 입력하는 화면은 아직 없다. 이메일 앞부분이 그대로 닉네임이 된다.

바꿀 수는 있다(2026-09-02 배포). Account Settings 에서 새 닉네임을 신청하고 관리자가 승인·거절한다 — 사용자가 스스로 바꾸지는 않는다. 규칙·화면·API 는 ToDo-User-Nickname-Change.

즉 이 단계에서 남은 것은 가입 직후의 안내뿐이다. 신청 흐름이 이미 있으므로, 만든다면 새 화면이 아니라 그 흐름으로 보내는 것으로 족하다.

2.5. 5. 페이지 조회 및 수정

사이트 권한에 따라 페이지를 읽고 편집할 수 있다.

  • 읽기(Read): 페이지 내용 조회
  • 편집(Edit): 기존 페이지 수정
  • 생성(Create): 새 페이지 작성
  • 업로드(Upload): 첨부파일 추가
  • 이름 변경(Rename): 페이지 이름 바꾸기
  • 삭제(Delete): 페이지 삭제

권한 설정은 AccessControl 참고.

2.6. 6. 위키 개설 신청

[미구현]

본인의 위키 사이트(something.ahawiki.net)를 만들고 싶은 경우 신청 흐름이 필요하다.

현재는 관리자가 직접 DB에 Site 레코드를 추가하는 방식으로만 생성된다.

관련 TODO: ToDo-User-Acquisition

3. 구현 현황

단계

상태

비고

최초 유입

구현됨

공개 권한 설정에 따라 열람 가능

로그인 유도

구현됨

권한 거부 화면이 사유와 Login 버튼을 보여준다 (비로그인일 때만)

로그인

구현됨

Google OAuth, 신규 사용자 자동 계정 생성

닉네임 설정

일부 구현

자동 지정은 그대로. 변경은 신청·승인으로 가능(2026-09-02)

페이지 조회 및 수정

구현됨

권한 기반 Read/Edit/Create/Upload/Rename/Delete

위키 개설 신청

미구현

관리자가 Site 레코드를 직접 넣는다

5. See Also

5.2. Similar Pages

Similar pages by cosine similarity. Words after page name are term frequency.

  • 33.50% Dev UserEmail user(6:30), 로그인(10:11), google(5:7), site(2:10), 이메일(2:9), 권한(6:4), login(5:5), 조회(5:1), 설정(4:2), oauth(3:3)

5.3. Adjacent Pages

Control
≤ 32
all
1.0x
1.0x
80
-120
ON
Metrics
Nodes(visible/total)0/0
Links(visible/total)0/0
Avg degree0.00
Depth coverage0
Queue(fetch/graph)0 / 0
Zoom(scale)1.00x
Ctrl/⌘ + Scroll: Zoom
Root 1-hop 2-hop+